<?php
//我们为了防止程序和读取的内容乱码 设置头信息
header("Content-Type:text/html;charset=utf-8");

//错误的显示级别
error_reporting(E_ALL ^E_WARNING);


//读取文件的内容放到一个字符串中
$content = file_get_contents("./input.txt");
var_dump($content);
echo "<br />";

//创建文件 或者 写入文件 会返回写入的长度 每次清空在写入
// FILE_APPEND 追加的意思
// $length = file_put_contents("./demo.txt", "hello world");
$length = file_put_contents("./demo.txt", "hello world", FILE_APPEND);
var_dump($length);
echo "<br />";

//复制、重名，移动，删除
// var_dump(copy("./demo.txt", "./test.txt"));
// echo "<br />";

//重命名和移动
// var_dump(rename('./test.txt', './output.txt'));
// var_dump(rename('./test.txt', './demo/output.txt'));
// echo "<br />";

// 删除文件 @错误抑制符 只能够抑制非致命的错误
// var_dump(@unlink("./output.txt"));
// var_dump(unlink("./output.txt"));
// echo "<br />";

//获取文件大小
var_dump(filesize("./input.txt"));
echo "<br />";

//判断文件是否存在
var_dump(file_exists("./output.txt"));
echo "<br />";


//目录操作

// 创建目录
// true 递归创建
// var_dump(mkdir("./demo/a/b/c", 0777, true));

//删除文件夹 只能删除为空的文件夹
// var_dump(rmdir("./demo"));

//读取目录 将读取到的目录结构放到一个数组中
$path = "./demo";
$arr = scandir($path);

foreach($arr as $item)
{
    if($item == "." || $item == "..")
    {
        continue;
    }

    //子文件夹的路径拼接完成才行
    $current = $path.'/'.$item;
    // $current = ".\demo\a\b\c\output.txt";
    $current = str_ireplace("\\", "/", $current);
    // echo $current."<br />";
    //判断是文件还是文件夹
    if(is_file($current)) echo "文件：".$current."<br />";

    if(is_dir($current)) echo "文件夹：".$current."<br />";

}
echo "<br />";

// pathinfo -> 获取文件各个相关的信息
$cur = "./demo/a/d/input.txt";
var_dump(pathinfo($cur));

//只获取后缀选项
var_dump(pathinfo($cur, PATHINFO_EXTENSION));



